package com.service;

import com.entity.BusinessProjectInfo;
import com.repository.BusinessProjectInfoRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;

import java.math.BigDecimal;
import java.util.List;
import java.util.Optional;

@Service
public class BusinessProjectInfoService {

    @Autowired
    private BusinessProjectInfoRepository businessProjectInfoRepository;

    /**
     * 保存经营项目信息
     * @param businessProjectInfo 经营项目信息
     * @return 保存后的经营项目信息
     */
    public BusinessProjectInfo save(BusinessProjectInfo businessProjectInfo) {
        return businessProjectInfoRepository.save(businessProjectInfo);
    }

    /**
     * 根据ID删除经营项目信息
     * @param id 经营项目ID
     */
    public void deleteById(Integer id) {
        businessProjectInfoRepository.deleteById(id);
    }

    /**
     * 根据ID更新经营项目信息
     * @param businessProjectInfo 经营项目信息
     * @return 更新后的经营项目信息
     */
    public BusinessProjectInfo update(BusinessProjectInfo businessProjectInfo) {
        return businessProjectInfoRepository.save(businessProjectInfo);
    }

    /**
     * 根据ID查找经营项目信息
     * @param id 经营项目ID
     * @return 经营项目信息
     */
    public BusinessProjectInfo findById(Integer id) {
        Optional<BusinessProjectInfo> optional = businessProjectInfoRepository.findById(id);
        return optional.orElse(null);
    }

    /**
     * 查找所有经营项目信息
     * @return 经营项目信息列表
     */
    public List<BusinessProjectInfo> findAll() {
        return businessProjectInfoRepository.findAll();
    }

    /**
     * 分页查询经营项目信息
     * @param pageable 分页参数
     * @return 经营项目信息分页结果
     */
    public Page<BusinessProjectInfo> findAll(Pageable pageable) {
        return businessProjectInfoRepository.findAll(pageable);
    }
}